草庐IT

mySQL UPDATE value based on SELECT value of value +1 递增列值

全部标签

php - 如何在重复的列值上更新 mySQL 键

我正在编写一个将发布到mySQL数据库的php应用程序。我有那部分工作,但我有一个名为repID的列,它将包含客户端修复ID。将内容添加到数据库的方式是通过我网站上的管理员。我想这样做,如果技术人员输入现有的repID,它只会更新key。而不是制作具有不同修复状态的副本PHP$repID=mysql_real_escape_string($_POST['repID']);$clientName=mysql_real_escape_string($_POST['clientName']);$devModel=mysql_real_escape_string($_POST['devMode

java - JOOQ:返回自动递增的 key ?

给定:CREATETABLEfoo(idBIGINTNOTNULLAUTO_INCREMENT,PRIMARYKEY(id));我想调用:INSERTINTOfooVALUES()并取回生成的key。我尝试按照jOOQinsertquerywithreturninggeneratedkeys中的建议进行操作但是当我调用时:RoomsRecordrecord=db.insertInto(foo,Collections>emptyList()).returning(foo.ID).fetchOne();JOOQ返回null而不是生成的键。这是错误吗? 最佳答案

MySQL:在 WHERE 找到相似条目时选择最高列值

我的问题相当于thisone,但不完全相同。我有一个包含大量书籍的数据库,其中一些相同的书名有不同的版本。我正在寻找一个SQL语句,它为我提供了我使用WHERE子句选择的每个标题的最高版本号(以查找特定的书籍系列)。表格如下所示:|id|title|edition|year||--|-------------------------|-------|----||01|SerieOneTitleOne|1|2007||02|SerieOneTitleOne|2|2008||03|SerieOneTitleOne|3|2009||04|SerieOneTitleTwo|1|2001||05

mysql - 从自动递增字段mysql java中知道下一个值

我想知道自增字段的下一个值我想测试一下:selectmax(contactid)fromcontact然后我加1但我意识到它会给我一个错误举个例子如果我插入一条记录并将其删除所以如果我在字段之后插入将增加两个我怎样才能做到这一点?谢谢 最佳答案 这个问题有多种解决方案:1。(最好)停止尝试预测自动增量值这是比较典型的情况,基本上就是按照设计使用自增。这假设您实际上并不需要插入的自动增量值before。你可以做的是:DROPTABLEIFEXISTSt;CREATETABLEt(idINTUNSIGNEDNOTNULLauto_inc

mysql - 自动递增第二列

这个问题在这里已经有了答案:ConcatenatingastringandprimarykeyIdwhileinserting(2个答案)关闭5年前。我有一个包含2列的表格。ID列自动递增。我正在尝试使用与id列相同的ID自动递增用户列,但带有“用户”前缀(例如:user100,其中ID也是100)基本上就像是在stackoverflow上完成。CREATETABLEtest_table(idMEDIUMINTNOTNULLAUTO_INCREMENT,userCHAR(30)NOTNULL,PRIMARYKEY(id))ENGINE=MyISAM;有没有办法在1个查询中执行此操作?而

mysql - 根据子查询替换列值

基本上,我有一个表,称它为regular,它为我提供了一周中给定日期的service_id,然后是另一个表,称它为exception,当service_id与通常情况不同时指定某些日期。将service_id视为不透明字符串。regular的结构:+-------------+------------+|day_of_week|service_id|+-------------+------------+|sunday|some_serv||monday|another||tuesday|another|(它会持续到一周的剩余时间,几天通常可以有相同的service_id)异常的结构:

mysql - 非空自动递增列 - 但 'is null' 查询返回刚刚插入的行

我正在使用MySQL5.1.60我有一个名为“文件夹”的表CREATETABLE`folder`(`folder_id`int(10)unsignedNOTNULLAUTO_INCREMENT,`name`varchar(50)DEFAULTNULL,`parent_id`int(10)unsignedDEFAULTNULL,`update_date`timestampNULLDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`folder_id`))ENGINE=InnoDBAUTO_INCREMENT=0DEFAULTCHARSET=utf8然后我给它插入一个

php - 在 MySQL 中使用 LIMIT 根据列值限制结果 (PHP/MySQL)

我为此进行了多次搜索(在SO和其他地方),但没有找到真正符合我需要的答案(如果有,我提前道歉)。我有一个使用PHP的查询,它从数据库(WordPress)返回一个数组。基本上我想做的是查看列的值,然后根据该值进行LIMIT。这是为了更好的想法而返回的数组:http://pastebin.com/AC043qfh在查询中,您会注意到post_parent的值在几个返回的数组中重复。我想要做的是根据post_parent值将其限制为3,例如我想要post_parent79、87、100等的3个条目。我对MySQL查询不是很精通(请参阅:完全不精通),但这是我必须获取该数组的方法:SELEC

mysql - 使用列值作为表名连接表

我读过很多关于连接表的问题,其中列值用作表名,但我不知道如何在我的案例中实现它。我有多个表。第一个表是用户。id|user_id|user_role1|1|admin2|2|manager3|3|employee第二个表是admin。id|fname|lname1|A1|J2|A2|C3|A3|S第三张表是manager。id|fname|lname1|M1|J2|M2|C3|M3|S第三个表是employee。id|fname|lname1|E1|J2|E2|C3|E3|S我怎样才能让它变成这样:SELECT*FROMuseruINNERJOINuser.user_roleurONu

php - 连接表并找到列值的最大值

我有3个表table_1、table_2和table_3,它们的公共(public)列comm_name作为外键。我只想通过连接这3个表来找到列data_id的最大值。使用where条件comm_name简而言之:合并这三个表并找到最大的data_id,即:返回9我试过:SELECTmax(data_id)FROM((SELECTtable_1.data_idFROMtable_1wherecomm_name='aa')UNION(SELECTtable_2.data_idFROMtable_2wherecomm_name='aa')UNION(SELECTtable_3.data_i